#pragma once

#include <string>
#include <stdint.h>

#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/matrix_access.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <glad/glad.h>

#include <GLFW/glfw3.h>
#include <cmath>
#include <memory>
#include <utility>
#include <algorithm>
#include <vector>
#include <iostream>
#include <functional>
#include <sstream>
#include <imgui.h>
#include <cstdint>
#include <fstream>
#include <unordered_map>
#include <map>
#include <iomanip>
#include <thread>

#include "spdlog/spdlog.h"
#include "spdlog/sinks/stdout_color_sinks.h"
#include <spdlog/sinks/basic_file_sink.h>
#include "spdlog/fmt/ostr.h"
#include "stb_image.h"

//#include "imgui.h"
#include <imgui_impl_glfw.h>
#include <imgui_impl_opengl3.h>